﻿using System;
using System.Collections.Generic;
using FluorineFx;
using Neturion.Dados;
using Neturion.Fachadas;

namespace Neturion.Servicos
{
    [RemotingService]
    public class ServicoMotivoProtocolo
    {
        public MotivoProtocolo Inserir(MotivoProtocolo motivoProtocolo, Usuario usuarioPermissao)
        {
            return Fachada.GetInstancia().Inserir(motivoProtocolo, usuarioPermissao);
        }

        public MotivoProtocolo Atualizar(MotivoProtocolo motivoProtocolo, Usuario usuarioPermissao)
        {
            return Fachada.GetInstancia().Atualizar(motivoProtocolo, usuarioPermissao);
        }

        public void Excluir(MotivoProtocolo motivoProtocolo, Usuario usuarioPermissao)
        {
            Fachada.GetInstancia().Excluir(motivoProtocolo, usuarioPermissao);
        }

        public MotivoProtocolo ObterMotivoProtocoloPorId(int id, Usuario usuarioPermissao)
        {
            return Fachada.GetInstancia().ObterMotivoProtocoloPorId(id, usuarioPermissao);
        }

        public IList<MotivoProtocolo> ObterTodosMotivosProtocolos(Usuario usuarioPermissao)
        {
            return Fachada.GetInstancia().ObterTodosMotivoProtocolos(usuarioPermissao);
        }

        public IList<MotivoProtocolo> ObterTodosMotivosProtocolos(int inicio, int quantidade, int quantidadeMinima, Usuario usuarioPermissao,
         string codigo, string descricao, TipoMotivo tipoMotivo, DateTime? inicioVigenciaDe, DateTime? inicioVigenciaAte, DateTime? fimVigenciaDe, DateTime? fimVigenciaAte)
        {
            return Fachada.GetInstancia().ObterTodosMotivosProtocolos(inicio, quantidade, quantidadeMinima, usuarioPermissao, codigo,
                descricao, tipoMotivo, inicioVigenciaDe, inicioVigenciaAte, fimVigenciaDe, fimVigenciaAte);

        }
    }
}